Human machine interaction systems minimize the barrier between the human's cognitive model of what they want to accomplish and the computer's understanding of the user's task. This is achieved through design and development of intuitive and optimal user interfaces given the constraints of the application at hand. Intelligent human machine interaction system further improve the user experience by deploying cognitive methods to better understand user's goal/intention and allow users to communicate complex concepts such as spatio-temporal behaviors to the machines. On the other hand, machine to machine communication methods allow devices that typically belong to diverse platforms and that are potentially physically remote to interact with each other and operate cooperatively if desired. Lastly, advanced data analysis methods can be used to process the data provided by the users and respond appropriately, in a reactive or proactive manner, according to the identified data characteristics such as type, modality, size, priority, etc.